#ifndef __BSP_PINCTRL_H_
#define __BSP_PINCTRL_H_

#include "hc32_ll.h"

/* CK = PC12 */
#define SDIOC_CK_PORT                   (GPIO_PORT_C)
#define SDIOC_CK_PIN                    (GPIO_PIN_12)
/* CMD = PD02 */
#define SDIOC_CMD_PORT                  (GPIO_PORT_A)
#define SDIOC_CMD_PIN                   (GPIO_PIN_06)
/* D0 = PB07 */
#define SDIOC_D0_PORT                   (GPIO_PORT_C)
#define SDIOC_D0_PIN                    (GPIO_PIN_08)
/* D1 = PA08 */
#define SDIOC_D1_PORT                   (GPIO_PORT_A)
#define SDIOC_D1_PIN                    (GPIO_PIN_08)
/* D2 = PC10 */
#define SDIOC_D2_PORT                   (GPIO_PORT_A)
#define SDIOC_D2_PIN                    (GPIO_PIN_09)
/* D3 = PB05 */
#define SDIOC_D3_PORT                   (GPIO_PORT_C)
#define SDIOC_D3_PIN                    (GPIO_PIN_11)

void Pinctrl_SDIOC_Init(void);

/* USBFS Core*/
#define USBF_DP_PORT            (GPIO_PORT_A)
#define USBF_DP_PIN             (GPIO_PIN_12)
#define USBF_DM_PORT            (GPIO_PORT_A)
#define USBF_DM_PIN             (GPIO_PIN_11)

void Pinctrl_USBFS_Init(void);

/* USBHS Core, embedded PHY */
#define USBH_DP_PORT            (GPIO_PORT_B)
#define USBH_DP_PIN             (GPIO_PIN_15)
#define USBH_DM_PORT            (GPIO_PORT_B)
#define USBH_DM_PIN             (GPIO_PIN_14)
#define USBH_VBUS_PORT          (GPIO_PORT_E)
#define USBH_VBUS_PIN           (GPIO_PIN_08)

void Pinctrl_USBHS_Init(void);

#define SPI1_CS_PORT            (GPIO_PORT_C)
#define SPI1_CS_PIN             (GPIO_PIN_03)
#define SPI1_CLK_PORT            (GPIO_PORT_E)
#define SPI1_CLK_PIN             (GPIO_PIN_10)
#define SPI1_MOSI_PORT            (GPIO_PORT_E)
#define SPI1_MOSI_PIN             (GPIO_PIN_11)

void Pinctrl_SPI1_Init(void);

#define LCD_RST_PORT            (GPIO_PORT_C)
#define LCD_RST_PIN             (GPIO_PIN_02)
#define LCD_DC_PORT            (GPIO_PORT_C)
#define LCD_DC_PIN             (GPIO_PIN_00)
#define LCD_BLKCTRL_PORT            (GPIO_PORT_E)
#define LCD_BLKCTRL_PIN             (GPIO_PIN_09)

void Pinctrl_LCD_Init(void);

#endif // __BSP_PINCTRL_H_